package com.csce.domain.entity.basic;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.osce.common.annotation.Excel;
import com.osce.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产耗材对象 tab_asset_inventory_consumable
 *
 * @author hdj
 * @since 2025-11-15
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@ToString
@EqualsAndHashCode(callSuper = true)
public class TabAssetInventoryConsumable extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty("${comment}")
    private Long id;

    /**
     * 编号
     */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private String no;

    /**
     * 名称
     */
    @Excel(name = "名称")
    @ApiModelProperty("名称")
    private String name;



    /**
     * 型号
     */
    @Excel(name = "型号")
    @ApiModelProperty("型号")
    private String model;

    /**
     * 规则
     */
    @Excel(name = "规格")
    @ApiModelProperty("规格")
    private String rule;

    /**
     * 单价
     */
//    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private BigDecimal price;

    /**
     * 固定资产类型
     */
    @Excel(name = "类型", dictType = "basic_consumable_type_dict")
    @ApiModelProperty("类型")
    private Integer fixedType;

    /**
     * 耗材单位
     */
    @Excel(name = "耗材单位")
    @ApiModelProperty("耗材单位")
    private String consumeUnit;

    /**
     * 资产类型
     */
//    @Excel(name = "资产类型")
    @ApiModelProperty("资产类型")
    private Integer type;

    /**
     * 状态
     */
    @Excel(name = "状态", dictType = "basic_consumable_status_dict")
    @ApiModelProperty("状态")
    private Integer status;

    /**
     * 厂商
     */
    @Excel(name = "厂商")
    @ApiModelProperty("厂商")
    private String vender;

    /**
     * 维修电话
     */
    //    @Excel(name = "维修电话")
    @ApiModelProperty("维修电话")
    private String serviceTel;

    /**
     * 厂商电话
     */
    //     @Excel(name = "厂商电话")
    @ApiModelProperty("厂商电话")
    private String venderTel;


    /**
     * 数量
     */
    @Excel(name = "数量（必填）")
    @ApiModelProperty("数量")
    private Long number;



    /**
     * 警戒阈值
     */
    @Excel(name = "警戒阈值")
    @ApiModelProperty("警戒阈值")
    private Long warningNumber;



    /**
     * 保修日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保修日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("保修日期")
    private Date warrantyDate;

    /**
     * 出厂日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("出厂日期")
    private Date factoryDate;

    /**
     * 入库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("入库时间")
    private Date storageDate;

    /**
     * 入库存放地点
     */
//    @Excel(name = "入库存放地点")
    @ApiModelProperty("入库存放地点")
    private String storagePlace;

    /**
     * 现存放地点
     */
//    @Excel(name = "现存放地点")
    @ApiModelProperty("现存放地点")
    private String nowPlace;

    /**
     * 负责人
     */
//    @Excel(name = "负责人")
    @ApiModelProperty("负责人")
    private String charge;

    /**
     * 领用人
     */
//    @Excel(name = "领用人")
    @ApiModelProperty("领用人")
    private String borrower;

    /**
     * 逻辑删除 0存在 1删除
     */
    @ApiModelProperty("逻辑删除")
    private Integer deleted;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remark;

}
